#pragma once

#pragma comment(lib, "d3d9.lib")
#pragma comment(lib, "d3dx9d.lib")
#pragma comment(lib, "dxguid.lib")
#pragma comment(lib, "DxErr.lib")
#pragma comment(lib, "dinput8.lib")

#include "d3dApp.h"
#include "d3dUtil.h"
#include "Camera.h"
#include "DirectInput.h"

class BasicApplication : public D3DApp
{
public:
	BasicApplication(HINSTANCE hInst, std::string caption);
	~BasicApplication(void);

	virtual void onResetDevice();
	virtual void updateScene(float dt);
	virtual void drawScene();

protected:
	virtual void resetCamera();
	virtual void draw() = 0;
};